80253720: 27 bd ff d0  ADDIU sp, sp, 0xffffffd0 (-48)
80253724: af bf 00 1c  SW ra, sp, 0x1c (28)
80253728: af a4 00 30  SW a0, sp, 0x30 (48)            arg1 === [sp + 0x30] /* obviously a pointer */
8025372c: af b0 00 18  SW s0, sp, 0x18 (24)

80253730: 3c 0e 80 33  LUI t6, 0x8033 (32819)
80253734: 81 ce d5 98  LB t6, t6, 0xffffd598 (-10856)
80253738: 11 c0 00 38  BEQ r0, t6, 0x8025381c (pc + 0xe0)  if (!*(0x8032d598)) return;
8025373c: 00 00 00 00  NOP

80253740: 8f af 00 30  LW t7, sp, 0x30 (48)            t7 = arg1
80253744: 8d f8 00 68  LW t8, t7, 0x68 (104)           t8 = arg1->off0x68
80253748: c7 04 00 1c  LWC1 f4, t8, 0x1c (28)          f4 = arg1->off0x68->off0x1c
8025374c: c7 08 00 24  LWC1 f8, t8, 0x24 (36)          f8 = arg1->off0x68->off0x24
80253750: 46 04 21 82  MUL.S f6, f4, f4
80253754: 00 00 00 00  NOP
80253758: 46 08 42 82  MUL.S f10, f8, f8
8025375c: 0c 0c 8e 94  JAL 0x80323a50 (-2144191920)        [sp + 0x2c] = 0x80323a50(arg1->off0x68->off0x1c*arg1->off0x68->off0x1c + arg1->off0x68->off0x24*arg1->off0x68->off0x24);
80253760: 46 0a 33 00  ADD.S f12, f6, f10
80253764: e7 a0 00 2c  SWC1 f0, sp, 0x2c (44)

80253768: 8f b9 00 30  LW t9, sp, 0x30 (48)            t9 = arg1
8025376c: 8f 28 00 68  LW t0, t9, 0x68 (104)           t0 = arg1->off0x68
80253770: c5 10 00 20  LWC1 f16, t0, 0x20 (32)         f16 = arg1->off0x68->off0x20
80253774: e7 b0 00 28  SWC1 f16, sp, 0x28 (40)             [sp + 0x28] = arg1->off0x68->off0x20;

80253778: c7 ac 00 28  LWC1 f12, sp, 0x28 (40)         
8025377c: 0c 0d ea 6a  JAL 0x8037a9a8 (-2143835736)    v0 = 0x8037a9a8([sp + 0x28], [sp + 0x2c])
80253780: c7 ae 00 2c  LWC1 f14, sp, 0x2c (44)
80253784: 00 02 84 00  SLL s0, v0, 0x10 (16)           s0 = v0 << 16
80253788: 00 10 4c 03  SRA t1, s0, 0x10 (16)           t1 = ((signed int)(unsigned short)v0)    000000 00000 10000 01001 10000 000011
8025378c: 01 20 80 25  OR s0, t1, r0                   s0 = (v0 << 16) >> 16
80253790: 44 90 90 00  MTC1 s0, f18                    f18 = ((signed int)(unsigned short)v0)
80253794: 3c 01 43 34  LUI at, 0x4334 (17204)
80253798: 44 81 40 00  MTC1 at, f8                     f8 = 0x43340000 (180.0)          0 10000110 (1)0110100.0000000000000000
8025379c: 46 80 91 20  CVT.S.W f4, f18                 f4 = ((float)(signed int)(unsigned short)v0)
802537a0: 3c 01 47 00  LUI at, 0x4700 (18176)
802537a4: 44 81 50 00  MTC1 at, f10                    f10 = 0x47000000 (32768.0)       0 10001110 (1)000000000000000.00000000
802537a8: 3c 06 80 33  LUI a2, 0x8033 (32819)
802537ac: 24 c6 64 20  ADDIU a2, a2, 0x6420 (25632)
802537b0: 24 04 00 d2  ADDIU a0, r0, 0xd2 (210)
802537b4: 46 08 21 82  MUL.S f6, f4, f8                f6 = ((float)(signed int)(unsigned short)v0) * 180.0
802537b8: 24 05 00 58  ADDIU a1, r0, 0x58 (88)
802537bc: 46 0a 34 03  DIV.S f16, f6, f10              f16 = ((float)(signed int)(unsigned short)v0) * 180.0 / 32768.0
802537c0: 46 00 84 8d  TRUNC.W.S f18, f16
802537c4: 44 07 90 00  MFC1 a3, f18
802537c8: 0c 0b 58 b6  JAL 0x802d62d8 (-2144509224)        0x802d62d8(210, 88, 0x80336420 /* "ANG %d" */, 0x8037a9a8([sp + 0x28], [sp + 0x2c]) * 180.0 / 32768.0);
802537cc: 00 00 00 00  NOP

802537d0: 8f ab 00 30  LW t3, sp, 0x30 (48)            t3 = [sp + 0x30]
802537d4: 3c 06 80 33  LUI a2, 0x8033 (32819)
802537d8: 24 c6 64 28  ADDIU a2, a2, 0x6428 (25640)
802537dc: c5 64 00 54  LWC1 f4, t3, 0x54 (84)          f4 = [sp + 0x30]->off0x54
802537e0: 24 04 00 d2  ADDIU a0, r0, 0xd2 (210)
802537e4: 24 05 00 48  ADDIU a1, r0, 0x48 (72)
802537e8: 46 00 22 0d  TRUNC.W.S f8, f4                f8 = (int)([sp + 0x30]->off0x54)
802537ec: 44 07 40 00  MFC1 a3, f8
802537f0: 0c 0b 58 b6  JAL 0x802d62d8 (-2144509224)        0x802d62d8(210, 72, 0x80336428 /* "SPD %d" */, (int)(arg1->off0x54));
802537f4: 00 00 00 00  NOP

802537f8: 8f ad 00 30  LW t5, sp, 0x30 (48)            t5 = [sp + 0x30]
802537fc: 3c 06 80 33  LUI a2, 0x8033 (32819)          
80253800: 24 c6 64 30  ADDIU a2, a2, 0x6430 (25648)    a2 = 0x80336430
80253804: 8d a7 00 0c  LW a3, t5, 0xc (12)             a3 = [sp + 0x30]->off0xc
80253808: 24 04 00 d2  ADDIU a0, r0, 0xd2 (210)
8025380c: 24 05 00 38  ADDIU a1, r0, 0x38 (56)
80253810: 30 ee 01 ff  ANDI t6, a3, 0x1ff (511)        t6 = [sp + 0x30]->off0xc & 0x1ff
80253814: 0c 0b 58 b6  JAL 0x802d62d8 (-2144509224)        0x802d62d8(210, 56, 0x80336430 /* "STA %x" */, arg1->off0xc & 0x1ff);
80253818: 01 c0 38 25  OR a3, t6, r0

8025381c: 10 00 00 01  BEQ r0, r0, 0x80253824 (pc + 0x4)
80253820: 00 00 00 00  NOP
80253824: 8f bf 00 1c  LW ra, sp, 0x1c (28)
80253828: 8f b0 00 18  LW s0, sp, 0x18 (24)
8025382c: 27 bd 00 30  ADDIU sp, sp, 0x30 (48)
80253830: 03 e0 00 08  JR ra
80253834: 00 00 00 00  NOP

void 0x80253720(struct ??? *arg1)
{
    if (*(0x8032d598)) {
        local1 = 0x80323a50(arg1->off0x68->off0x1c*arg1->off0x68->off0x1c + arg1->off0x68->off0x24*arg1->off0x68->off0x24);
        local2 = arg1->off0x68->off0x20;
        0x802d62d8(210, 88, 0x80336420 /* "ANG %d" */, 0x8037a9a8(local2, local1) * 180.0 / 32768.0);
        0x802d62d8(210, 72, 0x80336428 /* "SPD %d" */, (int)(arg1->off0x54));
        0x802d62d8(210, 56, 0x80336430 /* "STA %x" */, arg1->off0xc & 0x1ff);
    }
}

void 0x80253720(struct ??? *arg1)
{
    float local1;
    float local2;
    if (*(0x8032d598)) {
        local1 = sqrtf(arg1->off0x68->off0x1c*arg1->off0x68->off0x1c + arg1->off0x68->off0x24*arg1->off0x68->off0x24);
        local2 = arg1->off0x68->off0x20;
        0x802d62d8(210, 88, "ANG %d", 0x8037a9a8(local2, local1) * 180.0 / 32768.0);
        0x802d62d8(210, 72, "SPD %d", (int)(arg1->off0x54));
        0x802d62d8(210, 56, "STA %x", arg1->off0xc & 0x1ff);
    }
}
